﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using AbstraX.ClientInterfaces;
using AbstraX.XPathBuilder;
using System.Linq;

namespace AbstraXLocalTest
{
    public interface IRootSurrogate : IRoot
    {
        IQueryable ExecuteWhere(IBase baseObject, string property, object value);
        IQueryable ExecuteWhere(IBase baseObject, Expression expression);
        IQueryable ExecuteWhere(IBase baseObject, XPathAxisElement element);
        IQueryable ExecuteWhere(IBase baseObject, XPathAxisElement element, XPathAxisElement childrenElement);
        void ExecuteGlobalWhere(IRoot root, XPathAxisElement element); 
        void ClearPredicates(IBase baseObject);
    }
}
